package com.thinksns.sociax.thinksnsbase.utils;

import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.text.TextUtils;

public class PrefUtils {
    private static final String PREF_IS_LOCAL_REGISTER = "pref_is_local_register";
    private static final String PREF_IS_FIRST_RUN = "is_first_run"; // 安装成功是否第一次打开 app
    private static final String PREF_SOCKET_ADDRESS = "socket_address"; // 保存聊天 socket 地址的

    /**
     * 设置是否是本地注册
     *
     * @param context the context
     * @param isLocal 是否本地注册
     */
    public static void setPrefIsLocalRegister(@NonNull Context context, boolean isLocal) {
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
        sp.edit().putBoolean(PREF_IS_LOCAL_REGISTER, isLocal).apply();
    }

    /**
     * 获取是否本地注册，默认为false
     *
     * @param context the context
     * @return
     */
    public static boolean getPrefIsLocalRegister(@NonNull Context context) {
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
        return sp.getBoolean(PREF_IS_LOCAL_REGISTER, false);
    }

    /**
     * 安装此应用后是否第一次打开该应用
     * @param context
     * @return true: 第一次运行
     */
    public static boolean isFirstRunApp(Context context){
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
        if (sp.contains(PREF_IS_FIRST_RUN)){
            return false;
        }
        sp.edit().putBoolean(PREF_IS_FIRST_RUN,false).commit();
        return true;
    }

    /**
     * 保存 socket 服务器 地址
     * @param context
     * @param socketAddress
     */
    public static void saveSocketAddress(Context context,String socketAddress){
        if (!TextUtils.isEmpty(socketAddress)){
            SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
            sp.edit().putString(PREF_SOCKET_ADDRESS,socketAddress).commit();
        }
    }

    /**
     * 获取 socket 服务器 地址
     * @param context
     * @return
     */
    public static String getSocketAddress(Context context){
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
        if (sp.contains(PREF_SOCKET_ADDRESS)){
           return sp.getString(PREF_SOCKET_ADDRESS,"");
        }
        return  null;
    }
}
